查看原文
其他

某数4代逻辑分析 下

nanda0500 爬虫术与道 2023-10-29

声明:本文内容仅供学习交流,严禁用于商业用途,否则由此产生的一切后果均与作者无关,请于24小时内删除。


1,前言

    1.1 上一篇文章,我们已经说完生成假cookie的逻辑和通过假cookie生成***80T真cookie的逻辑了,并通过***80T真cookie成功获取了状态码为200的页面

    1.2 这一篇,我们来说一下200页面的js如何对已有的***80T cookie进行刷新

    1.3 以及xhr等请求的后缀MmEwMD生成的逻辑。

    1.4 最后,有个收费的部分分析了下某数4代用到的所有浏览器指纹,都是细节的补充,与整体逆向逻辑没有关系,只是给订阅的老板们的一个回馈,可不看,但也欢迎支持,哈哈。


2,200页面的***80T cookie刷新逻辑(与生成逻辑大致相同,简单讲)


    2.1 首页逻辑还是上篇文章中讲的那样,没有变化,略过,直接进入eval中。


    2.2 eval里面搜索"(5);",定位到cookie生成的地方。


    2.3 这一次不用跟进去了,因为根本就不会再生成cookie。如下图所示:

不会生成cookie的原因是meta里那一长串字符串中没有了这一部分所需的参数。


    2.4 我们进入 _$5a(767, 1);中,这里面对已有的***80T cookie进行了刷新。


    2.5 继续进入_$5a(746, _$uN); 方法


    2.6 可以看到case 767中的刷新逻辑与上篇文章中的生成逻辑完全一致,跟着走一下就好了。


    2.7 对于200页面刷新逻辑需要注意的地方就是:


        2.7.1,不会生成假cookie了,


        2.7.2,某些在202页面有的参数在200页面没有了,有些是200页面的js中用不到了,有些是通过localStorage传递到了200页面。


3,MmEwMD后缀定位及生成逻辑(详细讲解)


3.1,定位:我们加个xhr断点,随便拦截一个xhr请求。如下图所示


3.2 然后我们发现拦截到了 l.send ,这里的 l 是一个XMLHttpRequest对象,


3.3 鼠标放到1处可以看到后缀已经生成了。


3.4 但我们在l.open的时候看到传进去的明明是没有后缀的,故可以断定,l.open函数有猫腻!


3.5 我们验证一下,在控制台上 打出l.open,发现确实如此,l.open方法已经被暗戳戳的替换掉了

点击上图中红框位置方法可以直接定位,我们跟进去看一下。


3.6 下面两张图可以看到运行完 _$jO(arguments[1]); 之后url就被改变了。定位逻辑入口完成~


3.7 那让我们跟进_$jO看一下吧。可以看到前面都是对url做处理,关键位置为_$5a(779, _$CM._$8Y, _$O4, _$zx);  上面那一部分对url的处理,找找规律,自己写个对url处理的实现即可,不用完全还原。毕竟我们一般只采集几个链接。不需要兼容的那么好。闲话少说,我们跟到_$5a方法 里瞅瞅。


3.8 我们先进入_$5a(746, 6); 看一下


3.9 这段逻辑是不是十分眼熟?没错!就是 生成真***80T和刷新***80T 用的那段逻辑。此处和之前一样处理即可。


3.10 然后让我们回到上一个方法,再看下下面还有啥逻辑,debug走两步,可以看到_$bj就是后缀的内容。中间那两行代码 就是又检测了下 meta里的参数啥的,照着扣就好了。至此,后缀生成的逻辑结束。


注:某数4代的逻辑已经全部讲完了,顺着讲的思路慢慢做,应该可以将某数4的各个逻辑搞定啦。


下面的内容 愿意支持一下作者的老板们可以往下看一下,或许能让老板们少掉点头发, 哈哈。下面两个部分的内容为:

4,202页面生成***80T,200页面刷新***80T,MmEwMD后缀生成 三者检测指纹的介绍与区别。5,扣某数js的小技巧


4,202页面生成***80T,200页面刷新***80T,MmEwMD后缀生成 三者检测指纹的介绍与区别。


4.1 某数指纹检测类别全解(代码仅供参考,注释掉的即为4代中用不到的,无需关注)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存